#-*- coding-8 -*-
'''
Windows下python库的常用安装方法
目录：
      1.pip安装（需要pip）
      2.通过下载whl文件安装(需要pip)
      3.在pythn官网下载安装包安装（不需要pip）
 
方法一：pip安装。
这是最常用的python安装方法，新版的python一般自带pip.exe程序，在如我的就在C:\Python27\Scripts目录下这时候我们在CMD中打pip就可以看到一些版本信息如图：
 

这个时候我们就可以使用指令 pip install xxx来让python自动安装某些常见的库了。
如以下例子：

然后我们直接在程序中import就可以了。但是，事情往往没有这么简单！！！报错是常有的事，各种error。
补充一个：现在版本的python一般都自带pip.exe，如果没有重新安装，重新安装python,选择默认目录，修改目录可能导致pip安装不上。

方法二：通过下载whl文件安装
          python毕竟不是windows的原生语言，所以很多库还是不支持python，但是很多伟大的具有奉献精神的大牛将库编译成了whl文件供我们使用，这里表示感谢。
      步骤：1.下载相应库的whl文件，网址Python Extension Packages。注意要下载相应版本的，还有32还是64位系统。         
            2.cmd上输入pip install .whl文件名即可。  要完整的文件
 
方法三：官网下载文件安装
   1）下载
   2）解压 
   3）在命令提示符窗口中，使用cd进入到解压后的文件的路径下 
   4）输入命令python setup.py install 
 常用的两个下载包和模块安装文件的网站：PyPI-the Python Package Index和Python Extension Packages。




安装卸载使用方法

import 模块名
print(模块名.__file__)  # 返回模块的绝对地址

        安装pygame:pip install pygame
        卸载pygame:uninstall pygame
        安装ipython: pip install ipython
        卸载pygame:pip uninstall ipython

import sys
print(sys.path)
    2.导包
        1.包外面的文件：import 包名
        2.在__init__.py：导入想被外界使用的模块
            from . import 模块名
        3.在外界使用这个模块
MRO(Method Resolution Order)方法解析顺序列表，它代表了类继承的顺序
print(类名.mro())
print(类名.__class__)

'''








#首先用方法一   CD D:\Program Files\Python\Scripts 

# 1.网络

pip install urllib # 网络库(stdlib)。

pip install requests # 网络库。

pip install grab # 网络库（基于pycurl）。

pip install pycurl # 网络库（绑定libcurl）。

pip install urllib3 # Python HTTP库，安全连接池、支持文件post、可用性高。

pip install httplib2 # 网络库。

pip install RoboBrowser # 一个简单的、极具Python风格的Python库，无需独立的浏览器即可浏览网页。

pip install MechanicalSoup #一个与网站自动交互Python库。

pip install mechanize #有状态、可编程的Web浏览库。

pip install socket # 底层网络接口(stdlib)。


# 网络爬虫框架

pip install grab # 网络爬虫框架（基于pycurl/multicur）。

pip install scrapy # 网络爬虫框架。

pip install pyspider # 一个强大的爬虫系统。

pip install cola # 一个分布式爬虫框架。



# HTML/XML解析器


pip install lxml # C语言编写高效HTML/ XML处理库。支持XPath。

pip install cssselect # 解析DOM树和CSS选择器。

pip install pyquery # 解析DOM树和jQuery选择器。

pip install BeautifulSoup # 低效HTML/ XML处理库，纯Python实现。

pip install html5lib # 根据WHATWG规范生成HTML/ XML文档的DOM。该规范被用在现在所有的浏览器上。

pip install feedparser # 解析RSS/ATOM feeds。

pip install MarkupSafe # 为XML/HTML/XHTML提供了安全转义的字符串。


# 文本处理



# 用于解析和操作简单文本的库。

pip install difflib # （Python标准库）帮助进行差异化比较。

pip install Levenshtein # 快速计算Levenshtein距离和字符串相似度。

pip install fuzzywuzzy # 模糊字符串匹配。

pip install esmre # 正则表达式加速器。

pip install ftfy # 自动整理Unicode文本，减少碎片化。



# 自然语言处理
# 处理人类语言问题的库。

pip install NLTK #编写Python程序来处理人类语言数据的最好平台。

pip install Pattern # Python的网络挖掘模块。他有自然语言处理工具，机器学习以及其它。

pip install TextBlob # 为深入自然语言处理任务提供了一致的API。是基于NLTK以及Pattern的巨人之肩上发展的。

pip install jieba # 中文分词工具。

pip install SnowNLP # 中文文本处理库。

pip install loso # 另一个中文分词库。



$ 浏览器自动化与仿真

pip install selenium # 自动化真正的浏览器（Chrome浏览器，火狐浏览器，Opera浏览器，IE浏览器）。

pip install Ghost.py # 对PyQt的webkit的封装（需要PyQT）。

pip install Spynner # 对PyQt的webkit的封装（需要PyQT）。

pip install Splinter # 通用API浏览器模拟器（selenium web驱动，Django客户端，Zope）。



# 多重处理

pip install threading # Python标准库的线程运行。对于I/O密集型任务很有效。对于CPU绑定的任务没用，因为python GIL。

pip install multiprocessing # 标准的Python库运行多进程。

pip install celery # 基于分布式消息传递的异步任务队列/作业队列。

pip install concurrent#futures # concurrent#futures 模块为调用异步执行提供了一个高层次的接口。



# 异步
# 异步网络编程库

pip install asyncio # （在Python 3.4 +版本以上的 Python标准库）异步I/O，时间循环，协同程序和任务。

pip install Twisted # 基于事件驱动的网络引擎框架。

pip install Tornado # 一个网络框架和异步网络库。

pip install pulsar # Python事件驱动的并发框架。

pip install diesel # Python的基于绿色事件的I/O框架。

pip install gevent # 一个使用greenlet 的基于协程的Python网络库。

pip install eventlet # 有WSGI支持的异步框架。

pip install Tomorrow # 异步代码的奇妙的修饰语法。



# 队列

pip install celery # 基于分布式消息传递的异步任务队列/作业队列。

pip install huey # 小型多线程任务队列。

pip install mrq # Mr. Queue # 使用redis & Gevent 的Python分布式工作任务队列。

pip install RQ # 基于Redis的轻量级任务队列管理器。

pip install simpleq # 一个简单的，可无限扩展，基于Amazon SQS的队列。

pip install python-gearman # Gearman的Python API。


#云计算

pip install picloud # 云端执行Python代码。

pip install dominoup.com # 云端执行R，Python和matlab代码



# 网页内容提取
# 提取网页内容的库。

pip install HTML页面的文本和元数据

pip install newspaper # 用Python进行新闻提取、文章提取和内容策展。

pip install html2text # 将HTML转为Markdown格式文本。

pip install python-goose # HTML内容/文章提取器。

pip install lassie # 人性化的网页内容检索工具



# WebSocket
# 用于WebSocket的库。

pip install Crossbar # 开源的应用消息传递路由器（Python实现的用于Autobahn的WebSocket和WAMP）。

pip install AutobahnPython # 提供了WebSocket协议和WAMP协议的Python实现并且开源。

pip install WebSocket-for-Python # Python 2和3以及PyPy的WebSocket客户端和服务器库。


# DNS解析

pip install dnsyo # 在全球超过1500个的DNS服务器上检查你的DNS。

pip install pycares # c#ares的接口。c#ares是进行DNS请求和异步名称决议的C语言库。



# 计算机视觉

pip install OpenCV # 开源计算机视觉库。

pip install SimpleCV # 用于照相机、图像处理、特征提取、格式转换的简介，可读性强的接口（基于OpenCV）。

pip install mahotas # 快速计算机图像处理算法（完全使用 C++ 实现），完全基于 numpy 的数组作为它的数据类型。



# 代理服务器

pip install shadowsocks # 一个快速隧道代理，可帮你穿透防火墙（支持TCP和UDP，TFO，多用户和平滑重启，目的IP黑名单）。

pip install tproxy # tproxy是一个简单的TCP路由代理（第7层），基于Gevent，用Python进行配置。


# 另：
#　Python有很多Web开发框架,大而全的开发框架非Django莫属,
#　用得也最广泛.有很多公司有使用Django框架,如某狐,某讯等。
#　以简洁著称的web.py,flask都非常易于上手,以异步高性能著称的tornado,
#　源代码写得美如画,知乎,Quora都在用。







# 个人使用的


# excel
pip install xlwt


# requests模块
pip install requests

# bs4   网页解析器的作用，可以对下载好的网页进行页面元素分析，提取出有价值的数据
pip install beautifulsoup4

# XML模块  实现不同语言或程序之间进行数据交换的协议
pip install wheel
pip install lxml

# configparser模块    用于处理特定格式的文件，其本质上是利用open来操作文件。
pip install configparser

# shutil模块  高级的 文件、文件夹、压缩包 处理模块.
pip install pytest-shutil


# Selenium 自动化测试工具
pip3 install selenium

# 用于快速创建命令行。
pip install click

# Tqdm 是一个快速，可扩展的Python进度条，可以在 Python 长循环中添加一个进度提示信息
pip install tqdm


# 游戏导入的模块有
pip install pygame
pip install pygame.locals

# 于数据导入及整理的模块
pip install  pandas

# 第三方微信库
pip install itchat

# pillow 是一个强大的图片处理库
pip install pillow
